extends Control
class_name 基础弹窗类

var 弹窗id:String
var 常驻:bool=false
signal 关闭信号

func _ready():
	anchors_preset=PRESET_CENTER
	
#region 初始化/退出 负责节点数据:初始化和退出
func 初始化(_data):
	#常驻=_data.常驻
	hide()
	_初始化(_data)
	
func _初始化(_data:Dictionary={}):
	pass
	
func 退出():
	_退出()
	
func _退出():
	pass	
#endregion

#region 显示/隐藏 负责节点显示和隐藏动画
func 显示():
	var tw=create_tween().set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_LINEAR)
	tw.parallel().tween_property(self, "scale", Vector2(1, 1), 0.2).from(Vector2(0, 0))
	tw.parallel().tween_property(self, "position", position, 0.2).from(position+size/2)
	show()

func 隐藏():
	hide()	
	
func 关闭():
	queue_free()	
#endregion
	
func 关闭自己():
	if 常驻:
		GameViewManager.隐藏弹窗(弹窗id)
	else:
		GameViewManager.关闭弹窗(弹窗id)
	关闭信号.emit()
